Non-Contiguous C Stacks |
Dynamically sizing runtime stacks | ||
![]() |
Stacks reside in physical memory | |
![]() |
No right size for all threads | |
![]() |
No way to resize a stack | |
![]() |
Solution | |
![]() |
Identify function "call loops" | |
![]() |
Wrap them in stack checking code | |
![]() |
Wrapper detects overflow and transparently adds stack chunks |